1. Technical Field
The present invention relates in general to data processing systems that accept input from input devices and in particular to methods and systems for translating signals from an input device into codes that are recognizable to application programs. Still more particularly, the present invention relates to a method, a system, and a program product capable of translating input signals into codes that describe the temporal characteristics of the input activity.
2. Description of the Related Art
In a conventional data processing system, every time a key on the keyboard of the data processing system is depressed or released, the keyboard generates a key code uniquely identifying the manipulated key. However, application programs are generally designed to process character codes, not key codes. Consequently, conventional data processing systems include a keyboard driver that receives the key codes from the keyboard, translates those key codes into character codes, and provides those character codes to the application programs. For example, if an operator were to depress a xe2x80x9cShiftxe2x80x9d key, then depress and release the xe2x80x9cAxe2x80x9d key, and then release the xe2x80x9cShiftxe2x80x9d key, the keyboard would transmit the following key codes: a key-down signal for the xe2x80x9cShiftxe2x80x9d key, a key-down signal for the xe2x80x9cAxe2x80x9d key, a key-up signal for the xe2x80x9cAxe2x80x9d key, and then a key-up signal for the xe2x80x9cShiftxe2x80x9d key. After receiving that sequence of key codes, a conventional keyboard driver would transmit the character code that represents an uppercase xe2x80x9cAxe2x80x9d to the application program that is currently active.
The character codes produced by conventional keyboard drivers are useful for many applications. For example, conventional applications that provide password protection implement passwords as sequences of character codes. However, in recognition of the limited size of the set of conventional character codes, in an effort to ensure a reasonable level of protection from unauthorized access, applications typically impose a minimum password length, and users are commonly encouraged to adopt passwords longer than the minimum. The primary disadvantage associated with long passwords, however, is that they are generally more inconvenient to enter than shorter ones. It is therefore evident that a problem is presented by the limited size of the set of character codes produced by conventional keyboard drivers.
In addition, passwords built solely from conventional character codes are likely to be actual words. Passwords made of words, however, are generally less secure than passwords with additional elements. For example, a password that is a common English word can be cracked by attempting passwords from an English dictionary of less than 20,000 words. By contrast, cracking a password that cannot be found in a dictionary might require many times that number of attempts using random sequences of elements.
To address these shortcomings and provide an enhanced data processing system, the present invention furnishes a method, system, and program product capable of receiving a first input-event signal followed by a second input-event signal. In response to the second input-event signal, the present invention generates a character code and an associated time-span code. The time-span code reflects the amount of time that separated the first input-event signal from the second.
In an illustrative embodiment, the first and second input-event signals may comprise a key-down signal from a particular key on a keyboard and a key-up signal from that key respectively, in which case the generated character code would-correspond to that key. Alternatively, the first input-event signal may comprise a key-up signal or a start signal from a program, and the second input-event signal may comprise a key-down signal or an entry-complete signal, in which case the generated character code would comprise a pause character code, provided sufficient time separated the first input-event signal from the second.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.